1. Field of the Invention
This invention relates to a method and apparatus for converting an image from RGB (red, green, blue) color space (suitable for viewing on a computer monitor) to a six plane CMYLcLmK (cyan, magenta, yellow, light cyan, light magenta, and black) color space suitable for printing on a digital color printer, such as an ink-jet printer.
2. Statement of the Art
Color images are typically represented in computer memory by a combination of primary colors at selected levels or intensities. For transmitted light (such as that which comes from a computer screen), the visible spectrum is typically divided between three additive primary colors red, green and blue (RGB). When red, green and blue are all combined white (W) results, and when none of these colors is used, black (K) results (the absence of light).
When colors are deposited on a print medium, the subtractive primary colors cyan, magenta and yellow (CMY) are typically used. When a dye, pigment or other colorant is placed on a sheet of paper or other medium, the colorant serves to absorb certain frequencies of light and reflect or transmit others. When a theoretical ambient white light is reflected from or filtered through such colorants, the colorants subtract specific frequencies from and reflect or transmit the desired color. The addition of all three subtractive primaries results in black, and when no subtractive colors are used, all light is reflected or transmitted, and white results.
The relationship between the RGB and CMY color schemes can be represented with the following simple algebraic formulas:
______________________________________ R + G + B = W C + M + Y = K R + G = Y C + M = B R + B = M C + Y = G G + B = C M + Y = R ______________________________________
Each of these color schemes can be represented as a three-dimensional coordinate system, thus defining a color space. Selected points along the axes representing the full primary color form vertices of a color cube. Theoretically, any color can be represented by a point within this cube. An RGB color space is shown in FIG. 3, with the points R (red), G (green), and B (blue) forming vertices of the color cube. The vertex of this cube where R, G, and B each equal 0 (point 0,0,0) is K (black), and the vertex of the cube comprising the addition of all three additive colors results is W (white). Consistent with the above formulas, the other three vertices are C (cyan), M (magenta) and Y (yellow). Color spaces are not limited to three dimensions. For example, subtractive colors are often represented in four color CMYK color space.
Computer monitors, such as cathode ray tubes (CRT's), produce what may be termed "near-analog" color. Each pixel on a computer screen can be represented by 256 different levels (0 to 255) of each primary color. With 256 different levels for each primary color, CRT's come close to being analog, since this number of intensity levels is well beyond the ability of the human eye to resolve. However, with dot printers, such as inkjet printers, each pixel can typically be represented by only two levels: on or off. To convert from the near-analog CRT image to the digital printer image, a process of halftoning is typically used. Halftoning methods evaluate the near-analog intensity level for each color at each pixel and use either a dithering or error diffusion algorithm to decide for that pixel whether or not to print a dot of that color. Halftoning can be done either before or after the color conversion from the monitor RGB color space to the output color space (e.g., CMY or CMYK).
As stated, dot printers, such as ink-jet printers, are digital printing devices, as opposed to being analog or near analog. If only a single dot of each color is used, a CMYK printer can produce 8 different colors at any given pixel: C, M, Y, R, G, B, K, and W (white being the absence of any ink dots). The digital nature of dot printers thus greatly limits the image quality obtained.
The quality of images would be dramatically increased if dot printers could be made to behave more like analog devices. Various methods have been devised to increase the number of color choices for each pixel. Some of these methods include using multiple droplet sizes, using multiple smaller dots of the same color per pixel, using dots of differing dye loads, and attempts to dynamically vary the droplet size.
The present invention is disclosed in terms of an ink-jet printer that can print two dye loads for the colors cyan and magenta, a full or "high" dye load and a reduced or "low" dye load. Thus, the available choices available are C, M, Y, Lc, Lm, and K, where Lc is cyan-low and Lm is magenta-low. Yellow is printed only in a full dye load because different levels of yellow are less discernible by the human eye than differing levels of the other primaries. The range of potential colors obtainable with this scheme is greatly increased, and results in much improved image quality.
When an image on a computer screen is printed on an output device, such as a color printer, a color conversion must be made from RGB color space to CMY or CMYK color space. It would seem that a simple algebraic manipulation using the above formulas would provide this conversion. However, in practice, a strict algebraic conversion does not result in a true color mapping of what is seen on the CRT to what results on the page. This non-linearity from the CRT to CMY(K) output results from many factors, such as the halftoning method used, the nature of the media, inks or colorants, etc.
Various methods have been devised to make the colors printed on the page more true to those seen on the CRT. These methods are typically based on empirically derived curves or formulas that have been found to best approximate the color seen on the CRT to that which is printed on the particular printing device used. To avoid excess computation time, these color conversion methods typically involve look-up tables. A large number of potential colors per pixel are available on the CRT, as represented by the fact that each primary color has 256 potential levels. Thus, the CRT has a total of 256.times.256.times.256, or 16,777,216 potential colors per pixel. In the CMYLcLmK printer mentioned, each of these colors must be mapped in memory or converted to its own combination of each of the 6 available choices of dots. A simple look-up table for each of the 16,777,216 colors would use an unacceptably large amount of memory.